Демонстрационный экзамен 2025
Оглавление
МОДУЛЬ №1 ......................................................................................................... 2
Общая информация ............................................................................................ 2
Первоначальная настройка ................................................................................ 3
Динамическая сетевая трансляция (ISP) ........................................................... 3
Динамическая сетевая трансляция через iptables: ............................................................................ 4
Динамическая сетевая трансляция через nftables: ............................................................................ 5
Настройка Ecorouter: ........................................................................................... 6
Статические адреса................................................................................................................................. 6
Настройка gre-туннеля между роутерами........................................................................................... 7
Настройка динамической трансляции адресов (NAT) ....................................................................... 8
OSPF .......................................................................................................................................................... 9
Создание пользователя на базе vESR: .................................................................................................. 9
Настройка динамической трансляции(DHCP) ................................................................................... 10
Добавление пользователя без дополнительной аутентификации (Серверы):
............................................................................................................................. 10
Настройка удаленного доступа(на серверах): ................................................ 12
Настройка DNS: .................................................................................................. 14
Настройка часового пояса ................................................................................. 18
МОДУЛЬ №2 ....................................................................................................... 19
Создание RAID .................................................................................................... 19
Настройка службы сетевого времени на базе сервиса chrony ...................... 22
Конфигурация ansible на сервере BR-SRV ........................................................ 23
Статическая трансляция портов ....................................................................... 25
Установка Yandex Browser ................................................................................. 25
Настройка веб-сервера Nginx ........................................................................... 25
Настройка Mediawiki ......................................................................................... 27
Настройка Moodle .............................................................................................. 32
МОДУЛЬ №1
Общая информация
Общий вид сети:
Имя устройства
IP/Маска
Шлюз
ISP
DHCP
DHCP
172.16.5.1/28
-
172.16.4.1/28
-
HQ-RTR
172.16.4.2/28
172.16.4.1
192.168.100.1/26
-
192.168.200.1/28
-
192.168.99.1/29
-
10.0.0.1/30
-
BR-RTR
172.16.5.2/28
172.16.5.1
10.10.10.1/27
-
10.0.0.2/30
-
HQ-SRV
192.168.100.2/26
192.168.100.1
HQ-CLI
DHCP
DHCP
BR-SRV
10.10.10.2/2
10.10.10.1
VLAN100
192.168.100.0/26
VLAN200
192.168.200.0/28
VLAN999
192.168.99.0/29
BR
10.10.10.0/27
Tunnel
10.0.0.0/30
Первоначальная настройка
Динамическая сетевая трансляция (ISP)
ВНИМАТЕЛЬНО ПРОЧИТАТЬ!!!
Файлы редактируем через mcedit, пример: mcedit /etc/net/sysctl.conf
Так как стенд теперь переделан, задаем ip-адреса не через nmtui. Нужно вручную создавать
файлы интерфейсов и их редактировать.
Внешний интерфейс (под точкой должен быть указан номер интерфейса)
mkdir /etc/net/ifaces/ens*
touch /etc/net/ifaces /ens*/options
mcedit /etc/net/ifaces/ens*/options
В сторону роутера
mkdir /etc/net/ifaces/ens*
touch /etc/net/ifaces /ens*/options
mcedit /etc/net/ifaces/ens*/options
touch /etc/net/ifaces /ens*/ipv4address
прописываем ip адрес с маской
mcedit /etc/net/ifaces/ens*/ ipv4address
Так же делаем и со вторым интерфейсом
На серверах чтобы был выход во внешнюю сеть, надо еще создать файл ipv4route и прописать
туда Ip роутера:
После чего открываем /etc/resolv.conf и прописываем:
После чего вводим команду:
# systemctl restart network
Динамическая сетевая трансляция через iptables:
Открыть файл /etc/net/sysctl.conf и вписать следующую строчку:
# net.ipv4.ip_forward = 1
для применения изменений - перезагружаем службу network:
# systemctl restart network
проверка изменений, должно вывести 1:
# cat /proc/sys/net/ipv4/ip_forward
Включаем SNAT:
# iptables -t nat -A POSTROUTING -o ens192 -j MASQUERADE
Сохранение изменений:
# iptables-save >> /etc/sysconfig/iptables
Запуск iptables и добавление его в автозагрузку:
# systemctl enable --now iptables.service
# systemctl start iptables.service
# systemctl status iptables.service
Динамическая сетевая трансляция через nftables:
Если настраивали через iptables, то можете переходить к настройке vESR.
Открыть файл /etc/net/sysctl.conf и вписать следующую строчку:
# net.ipv4.ip_forward = 1
для применения изменений - перезагружаем службу network:
# systemctl restart network
проверка изменений, должно вывести 1:
# cat /proc/sys/net/ipv4/ip_forward
Устанавливаем пакет nftables:
# apt-get install -y nftables
Создаём таблицу nat для семейства ip:
# nft add table ip nat
Создаём цепочку postrouting в таблице nat
семейства ip:
# nft add chain ip nat postrouting "{ type nat hook postrouting priority 0; }"
Добавляем правила в цепочку postrouting в
таблицу nat семейства ip для трансляции адресов
сети в сторону HQ-RTR:
# nft add rule ip nat postrouting ip saddr 172.16.4.0/28 oifname "ens192" counter masquerade
Добавляем правила в цепочку postrouting в
таблицу nat семейства ip для трансляции адресов
сети в сторону BR-RTR:
# nft add rule ip nat postrouting ip saddr 172.16.5.0/28 oifname "ens192" counter masquerade
Сохраняем текущие правила в
файл /etc/nftables/nftables.nft:
# nft list ruleset | tee -a /etc/nftables/nftables.nft
Включаем и добавляем в автозагрузку службу
nftables:
# systemctl enable --now nftables
# systemctl restart nftables
Проверяем:
# nft list ruleset
Настройка Ecorouter:
Статические адреса
HQ-RTR
BR-RTR
Настройка gre-туннеля между роутерами
HQ-RTR
BR-RTR
Настройка динамической трансляции адресов (NAT)
HQ-RTR
BR-RTR
OSPF
HQ-RTR
BR-RTR
Создание пользователя на базе vESR:
Настройка динамической трансляции(DHCP)
Добавление пользователя без дополнительной аутентификации (Серверы):
# useradd имя_пользователя -u 1010
Назначить пароль на пользователя:
# passwd имя_пользователя
Добавление пользователя sshuser в группу wheel:
# usermod -aG wheel sshuser
после чего перейти в файл и добавить нового пользователя в группу администраторов:
# mcedit /etc/sudoers
в конец файла добавить строчку со следующим содержимым (в самом файле в конце есть пример
строчки, на случай если забудете):
# имя_пользователя ALL=(ALL:ALL) NOPASSWD: ALL
чтобы проверить правильность своих действий, перед командой введите sudo.
Настройка удаленного доступа(на серверах):
Редактируем конфигурационный файл /etc/openssh/sshd_config:
# mcedit /etc/openssh/sshd_config
Нужно расскоментировать строчку с портом, добавить строку с пользователем и ограничить
попытку входа до 2-х
Также расскоментировать баннер и указать путь до него
Создаём файл с баннером:
# echo "Authorized access only" > /etc/openssh/banner
Перезапускаем службу sshd:
# systemctl restart sshd
Чтобы проверить заходим на клиента или второй сервер и прописываем:
# ssh -p 2024 sshuser@IP-адрес куда подключаемся
ВАЖНО!!! На сервере куда происходит подключение должен быть создан пользователь, иначе
ничего не получится
Настройка DNS:
Основной DNS-сервер реализован на HQ-SRV
Перейдем к серверу HQ-SRV и начнем настройку:
# apt-get install bind bind-utils
# systemctl enable --now bind
В альте папка для мастер зоны по умолчанию отсутствует
# mkdir /etc/bind/zone/master
Создаем зоны (мы копируем готовые шаблоны, чтобы не писать все с нуля)
# cp /etc/bind/zone/localhost /etc/bind/zone/master/au-team.irpo
# cp /etc/bind/zone/127.in-addr.arpa /etc/bind/zone/master/10.168.192.in-addr.arpa
# cp /etc/bind/zone/127.in-addr.arpa /etc/bind/zone/master/200.168.192.in-addr.arpa
Меняем права на папку master и ее содержимое
# chown root:named /etc/bind/zone/master
# chown root:named /etc/bind/zone/master/*
Заходим в файл и редактируем его
# mcedit /etc/bind/zone/master/au-team.irpo
(указываем свои ip адреса!!!)
# mcedit /etc/bind/zone/master/10.168.192.in-addr.arpa
(указываем свои ip адреса!!!)
# mcedit /etc/bind/zone/master/200.168.192.in-addr.arpa
# mcedit /etc/bind/local.conf
# mcedit /etc/bind/options.conf
Перезагружаем
# systemctl restart bind
# named-checkconf
# named-checkconf -z
# reboot
Проверяем
# nslookup br-rtr.au-team.irpo
# nslookup hq-cli.au-team.irpo
# nslookup ya.ru
Настройка часового пояса
Чтобы изменить часовой пояс на ALT Linux используйте команду:
# timedatectl set-timezone Asia/Yekaterinburg
Для проверки введите команду:
# date
Для изменения часового пояса на Ecorouter:
МОДУЛЬ №2
Создание RAID
Перед тем как начать создавать RAID массив, нужно добавить к серверу три диска размером 1Gb
каждый:
Создание RAID.
Просматриваем имена добавленных дисков:
# lsblk
Вывод:
sdb 8:16 0 1G 0 disk
sdc 8:32 0 1G 0 disk
sdd 8:48 0 1G 0 disk
Обнуляем суперблоки для добавленных дисков:
# mdadm --zero-superblock --force /dev/sd{b,c,d}
Вывод:
# mdadm: Unrecongised md component device - /dev/sdx
Гласит о том, что диски не использовались ранее для RAID
Удаляем старые метаданные и подпись на дисках:
# wipefs --all --force /dev/sd{b,c,d}
Создаем RAID:
# mdadm --create /dev/md0 -l 5 -n 3 /dev/sd{b,c,d}
/dev/md0 - название RAID после сборки
-l 5 - уровень RAID
-n 3 - количество дисков, из которых собирается массив
/dev/sd{b,c,d} - диски, из которых выполняется сборка
Проверяем:
# lsblk
Вывод:
sdb 8:16 0 1G 0 disk
md0 9:0 0 2G 0 raid5
sdc 8:32 0 1G 0 disk
md0 9:0 0 2G 0 raid5
sdd 8:48 0 1G 0 disk
md0 9:0 0 2G 0 raid5
Создаем файловую систему из созданного RAID:
# mkfs -t ext4 /dev/md0
Создание файла mdadm.conf
Создаем директорию для файла:
# mkdir /etc/mdadm
Заполняем файл информацией:
# echo "DEVICE partitions" > /etc/mdadm/mdadm.conf
# mdadm --detail --scan | awk '/ARRAY/ {print}' >> /etc/mdadm/mdadm.conf
Создание файловой системы и монтирование RAID-массива
Создаем директорию для монтирования массива:
# mkdir /mnt/raid5
Добавляем строку в /etc/fstab:
# /dev/md0 /mnt/raid5 ext4 defaults 0 0
Монтируем:
# mount -a
Проверяем монтирование:
# df -h
Вывод:
# /dev/md0 2.0G 24K 1.9G 1% /mnt/raid5
Настройка NFS
Устанавливаем пакеты для NFS-сервера:
# apt-get install -y nfs-{server,utils}
Создаем директорию для общего доступа:
# mkdir /mnt/raid5/nfs
Выдаем права на чтение и запись этой директории:
# chmod 766 /mnt/raid5/nfs
Добавляем строку в /etc/exports:
# /mnt/raid5/nfs 192.168.200.0/28(rw,no_root_squash)
/mnt/raid5/nfs - общий ресурс
192.168.200.0/28 - клиентская сеть, которой разрешено монтирование общего ресурса
rw разрешены чтение и запись
no_root_squash отключение ограничения прав root
Экспортируем файловую систему, которую прописали ранее:
# exportfs -arv
-a - экспортировать все указанные каталоги
-r - повторный экспорт всех каталогов, синхронизируя /var/lib/nfs/etab с /etc/exports и файлами
в /etc/exports.d
-v - подробный вывод
Запускаем и добавляем в автозагрузку NFS-сервер:
# systemctl enable --now nfs-server
Настройка клиента
Устанавливаем требуемые пакеты для NFS-клиента:
# apt-get update && apt-get install -y nfs-{utils,clients}
Создаем директорию для общего ресурса:
# mkdir /mnt/nfs
Выдаем права этой директории:
# chmod 777 /mnt/nfs
Добавляем строку в /etc/fstab для автоматического монтирования общего ресурса:
# 192.168.100.62:/mnt/raid5/nfs /mnt/nfs nfs defaults 0 0
Монтируем общий ресурс:
# mount -a
Проверяем монтирование:
# df -h
Вывод:
# 192.168.100.62:/mnt/raid5/nfs 2,0G 0 1,9G 0% /mnt/nfs
Настройка службы сетевого времени на базе сервиса chrony
Так как на HQ-RTR нет утилиты chrony и возможность выбора стратума, NTP-сервером будет
выступать BR-SRV
Конфигурация NTP-сервера (BR-SRV)
Скачиваем пакет chrony:
# apt-get install -y chrony
Приводим начало файла /etc/chrony.conf к следующему виду:
Запускаем и добавляем в автозагрузку утилиту chronyd:
systemctl start --now chronyd
systemctl enable --now chronyd
Проверка Конфигурации NTP-сервер
# chronyc sources
Вывод:
Получаем вывод уровня стратума с помощью связки команд:
# chronyc tracking | grep Stratum
Вывод:
Конфигурация NTP-клиента EcoRouter
Указываем IP-адрес NTP-сервера:
# ntp server 10.10.10.2
Указываем часовой пояс:
# ntp timezone utc+5
Проверяем командой:
# show ntp status
Вывод:
Конфигурация NTP-клиента Alt Linux
Скачиваем пакет chrony:
# apt-get install chrony
Приводим начало файла /etc/chrony.conf к следующему виду:
iburst - принудительно отправляет пакеты для точности синхронизации
prefer - отдает приоритет этому серверу
Запускаем утилиту chrony и добавляем ее в автозагрузку:
# systemctl enable --now chronyd
Проверить можно точно также как и на NTP-сервере
Конфигурация ansible на сервере BR-SRV
Затронутые строки в конфигурационном файле SSH /etc/openssh/sshd_config должны выглядеть
следующим образом:
При этом на машине HQ-CLI должен быть создан пользователь sshuser и настроено подключение
по ssh
Устанавливаем необходимые пакеты:
# apt-get install -y ansible sshpass
Редактируем указанные строки в конфигурационном файле /etc/ansible/ansible.cfg:
Далее заполняем инвентарный файл /etc/ansible/inventory.yml:
Создаем файлы с переменными для всех категорий и для категории Networking:
# cd /etc/ansible
# mkdir group_vars
# touch group_vars/{all.yml,Networking.yml}
Редактируем all.yml:
Редактируем Networking.yml:
Выполняем команду для ping`а всех машин:
# ansible -m ping all
Вывод должен быть примерно таким:
Статическая трансляция портов
На роутере BR-RTR:
# ip nat source static tcp 10.10.10.1 80 10.10.10.2 8080
# ip nat source static tcp 10.10.10.1 2024 10.10.10.2 2024
На роутере HQ-RTR:
# ip nat source static tcp 192.168.100.1 2024 192.168.100.2 2024
Установка Yandex Browser
# apt-get -y install yandex-browser-stable
Настройка веб-сервера Nginx
Установка Nginx:
# apt-get install nginx
# systemctl enable --now nginx
Редактирование файла /etc/nginx/sites-available.d/default.conf. Нужно закомментировать все и
прописать следующие строчки:
Указать путь на конфиг:
#cd /etc/nginx/sites-enabled.d/
# ln -sf ../sites-available.d/default.conf default.conf
# systemctl restart nginx
Чтобы проверить нужно в браузере открыть по имени wiki. Если открылось, то кайф. Мне помогло
прописать на всех машинах dns server 192.168.100.2, а еще нужно перезагружать браузер, это
важно.
Также команда nslookup на клиенте должна выглядеть так.
Настройка Mediawiki
Установите docker и docker compose:
# apt-get install docker-engine docker-compose-v2
Запустите docker:
# systemctl enable --now docker
По пути /root/ нужно создать файл wiki.yml, выглядеть он будет примерно так:
Закомментированная строчка должна быть закомментированной!!!
После чего запустите стек контейнеров:
# docker compose -f wiki.yml up -d
Теперь идем на клиента и в строке браузера пишем http://wiki.au-team.irpo:8080. (заходить нужно
именно по этому имени, если не открывается, возможно не настроен nginx) Откроется следующее
окно:
Тут я указал пароль из файла wiki.yml WikiP@ssw0rd
А тут вместо «Black Sprut» wiki и пароль P@ssw0rdP@ssw0rd.
На последнем этапе скачается файл LocalSettings.php. Его нужно закинуть на br-srv. Это важно.
# scp -P 2025 /home/user/Загрузки/LocalSettings.php sshuser@10.10.10.2:/home/sshuser
Этой командой из директории user перекидывается файл на br-srv. Если не получается можно
закинуть файл в директорию sshuser на клиенте и оттуда переносить.
На br-srv нужно перекинуть файл в директорию root
# cp /home/sshuser/LocalSettings.php /root
После в файле wiki.yml раскомментировать строчку:
И перезапустить контейнеры:
# docker compose -f wiki.yml stop
# docker compose -f wiki.yml up -d
Заходим снова на сайт, должно быть что-то подобное:
Настройка Moodle
Установка компонентов moodle:
# apt-get install moodle moodle-apache2 moodle-local-mysql
Подготовка БД:
# systemctl enable --now mysqld
Дальше просят загрузить исходники moodle. Эти команды выдавали у меня ошибки, потому что по
пути /opt/ у меня была директория moodle, если её нет, то нужно прописать следующие команды:
Нужно выдать права:
Теперь нужно раскомментировать и изменить параметр в /etc/php/8.2/apache2-mod_php/php.ini:
# max_input_vars = 10000
Осталось перезагрузить веб-сервер:
# systemctl restart httpd2
После всех команд заходи на клиента и в строке браузера вбиваем http://moodle.au-
team.irpo/moodle/install.php (как и в случае с wiki, нужно заходить по доменному имени)
Дальше произвести настройку (было указано, что нельзя менять язык на русский):
Проверка путей:
Тут первые две строки походу прикол от автора, поэтому можно указать хоть что.
Почта наверное любая
По заданию: «На главной странице должен отражаться номер рабочего места в
виде арабской цифры, других подписей делать не надо», я не знаю что указывать и просто
написал 1.
Настройка домена
Установка контроллера домена Samb:
# apt-get install task-samba-dc
Удаляем конфиг самбы:
# rm /etc/samba/smb.conf
Запускаем авто-настройку домена:
# samba-tool domain provision
Должно быть что-то подобное, В первом пункте у меня было пусто, я прописал AU-TEAM.IRPO и
протыкал enter. В пункте DNS forwarded IP address надо указать Ip hq-srv.
Добавляем в автозагрузку samba и копируем конфиг Kerberos:
# systemctl enable now samba
# cp /var/lib/samba/private/krb5.conf /etc/krb5.conf
Конфиг нужно дополнить:
Проверить домен можно командой samba-tool domain info 127.0.0.1
И инициализируем администратора (в моем случае пароль P@ssw0rd):
Если все также как на скрине, то успех.
Теперь нужно ввести клиента в домен. Что именно помогло войти в домен не сильно понятно.
Я указал в /etc/resolv.conf nameserver 10.10.10.2 (это ip br-srv), и еще в графике на интерфейсе
указал тот же dns.
В "Центре управления системой" в категории "Пользователи" выбираем пункт "Аутентификация".
Указываем домен и группу, нажимаем «Применить». Вводим пароль администратора домена (в
моем случае это P@ssw0rd) и ждем. Должно вылезти окно:
Перезагружаем клиента и авторизируемся под доменной учеткой.
Думаю важно на клиенте вернуть обратно dns. В /etc/resolv.conf надо указать старый dns и еще
поменять в файле /etc/net/ifaces/ens*/resolv.conf.
На контроллере домена нужно создать доменных пользователей и группу hq.
# samba-tool group add hq
# samba-tool user create user1 P@ssw0rd
Добавить пользователей в группу:
# samba-tool group addmembers hq user1,user2,user3,user4,user5
Проверка:
# samba-tool user list
# samba-tool group listmembers hq
не происходит авторизация под доменными пользователями, надо решать отдельно
Фиксы ошибок
ЕСЛИ ОТСУТСТВУЕТ ИНТЕРНЕТ НА ISP:
# unlink /etc/resolv.conf
# cp /etc/resolvconf.conf /etc/resovl.conf.bak
После чего редактируем файл /etc/resovl.conf.bak и прописываем туда name_servers=10.44.0.100
Этот вариант подойдет, если вы настраиваете дэ в птк.